# -*- coding: utf-8 -*- 
# 作者:飞虎
# 开发时间:2022/5/29 22:14
from PyQt5.Qt import *


class Window(QWidget):
	def __init__(self):
		super().__init__()
		self.setWindowTitle('QTabWidget学习')
		self.resize(500, 500)
		self.setup_ui()

	def setup_ui(self):
		page_1 = QWidget()
		page_2 = QPlainTextEdit()
		tw = QTabWidget(self)

		tw.move(50, 50)
		tw.resize(400, 400)

		lb_1 = QLabel('这是第一个标签', page_1)
		lb_1.move(100, 100)

		page_2.setPlainText('这是第二个标签页')

		tw.addTab(page_1, 'Tab1')
		tw.addTab(page_2, 'Tab2')

		# 可移动
		tw.setMovable(True)

		# 可关闭
		tw.setTabsClosable(True) #这一步只是在外观上为每个标签添加了关闭按钮

		def close_tab(index):
			"""真正关闭标签页的槽函数"""
			# tw.tabBar().removeTab(index)
			tw.removeTab(index)
			print(f'关闭了第{index+1}的标签')
			# QTabWidget
			# QTabBar
		tw.tabCloseRequested.connect(close_tab)

		# 自动隐藏面签
		tw.setTabBarAutoHide(True)

		# 文档模式
		tw.setDocumentMode(True)


if __name__ == '__main__':
	import sys

	app = QApplication(sys.argv)
	window = Window()
	window.show()
	sys.exit(app.exec_())
